草庐IT

带类别的 Android GridView?

全部标签

iphone - 如何使用 Objective-C 类别

当你在一个文件中实现一个类的类别时,该类的所有实例都会默认属于该类别吗?我是Objective-C的新手,我正试图让我不可编辑的UITextView不可选择。我使用类别遇到了这个答案:https://stackoverflow.com/a/8013538/1533240其中有如下解决方案:@implementationUITextView(DisableCopyPaste)-(BOOL)canBecomeFirstResponder{returnNO;}@end我将代码片段添加到我的代码中,但它似乎不起作用,因为我仍然可以选择文本。我对UITextView的声明是通常的:titleLa

iphone - NSObject 上的类别——保证它的安全

Apple有thistosay:根类的类别类别可以向任何类添加方法,包括根类。添加到NSObject的方法可用于链接到您的代码的所有类。向具有类别的根类添加方法有时很有用,但也可能非常危险。尽管类别所做的修改似乎很容易理解并且影响有限,但继承赋予了它们广泛的范围。您可能对应用程序中看不见的类进行了意外更改;您可能不知道您正在做的事情的所有后果。此外,处理您的应用程序的其他人不知道您的更改,他们不会理解他们在做什么。我的问题是——如果我选择的方法名称足够奇怪以至于我很确定没有其他人会使用它们(无论是在Apple还是在我的项目中),我还会遇到麻烦吗?还会有意想不到的行为吗?性能影响?

ios - 类别方法可以被覆盖吗?操作系统

我正在尝试计划如何向某些对象的所有实例添加几个方法。我认为向父对象(UIViewController)添加一个类别可以满足我的要求,但是我可以重写以这种方式添加的方法吗?大多数情况下,子类将使用默认方法,但我知道我至少需要重写该方法一次。对于我正在尝试做的事情,我还应该考虑哪些其他方法?我正在尝试做的事情的例子:我有一组对象,就像日记的页面一样。这些页面是UIViewControllers的子类。我想添加加载、保存等方法。在日记类(NSObject的子类)中,我有一个数组存储每个日记页面的实例。我想要它,这样我就可以从数组中选择一个页面并运行这些方法,而不必知道特定的对象类,因为它们都

objective-c - 静态 iOS 库中无法识别的选择器调用类别方法

我正在使用一些第三方软件来帮助使用Xcode4.3.2编写iPad应用程序。该软件是开源的,通常设置为使其代码与开发人员为应用程序编写的任何代码一起编译。因为我在许多地方都使用过该软件,所以我决定将其构建为iOS模拟器的静态库。我能够构建库,并将一个应用程序转换为链接到该库,而不是编译原始源代码。但是,当我在模拟器上运行该应用程序时,我收到一条错误消息,显示无法识别的选择器已发送到实例。我已验证该程序已成功使用部分静态库。但是,有一段代码试图在对象上调用方法,并且失败了。被调用的方法实际上并未在该对象的接口(interface)中定义。相反,它是在一个附加模块中提供的,该模块为该对象的

iphone - Objective c 类别和继承

如果一个方法在类和该类的类别中都定义了,则调用哪个实现是不确定的。但是这与继承有什么关系呢?具体来说:给定父类(superclass)类方法和子类中的常规方法,是否保证子类实现在子类成员上调用时会获胜?给定一个父类(superclass)常规方法和一个试图覆盖它的子类类别方法,是否可以保证在子类成员上调用时子类类别实现会获胜?给定一个父类(superclass)的类别方法和一个子类的类别方法,是否保证子类的类别方法在子类的成员上调用时会获胜? 最佳答案 让我们这样说吧。不要使用类别、句点、曾经、答案结束来覆盖方法。

objective-c - objective c 类别的范围是什么

如果我重写类别中的方法,它会只影响包含它的文件,还是会影响整个项目?我想覆盖“methodSignatureForSelector”和“forwardInvocation”以忽略NSNull的未定义选择器错误。所以我想知道这是否只影响包含它的文件。提前致谢。 最佳答案 假设您在其上定义了一个类A和一个类别C。这些类中的每一个都有自己的.h.m文件。类别“影响”什么?关于编译,只有导入C.h文件的编译单元(.m文件)。说:在导入该header的文件中,您不会收到有关未定义选择器的警告(当然,对于C.h中定义的选择器);在其他文件中,您

iphone - Objective-C的协议(protocol)和类别可以继承吗?

我对Objective-C协议(protocol)和类别的一些概念有点困惑。Objective-C中的子类可以继承协议(protocol)和类别吗? 最佳答案 类别是在运行时添加到类中的方法的集合。因为Objective-C使用动态绑定(bind),这意味着类别中定义的方法可用于该类及其所有子类。特别是选择器在它们被调用时绑定(bind)到方法,而不是在编译期间或程序首次加载时。加载类别时,会将类别添加到类中。协议(protocol)定义了符合协议(protocol)的类promise实现的方法签名的集合。一旦一个类声明它符合协议(

objective-c - 将委托(delegate)方法放入一个类别中

到目前为止,我开发了一些应用程序。现在我正在写一个新的,在这个项目中我想保持代码非常干净,所以很容易找到方法。我想从UIViewControllers开始,它的view有一个UITableView作为subview。我希望有一个名称为DetailViewController的文件,用于直接属于它的所有功能。另一个名为DetailViewController+Protocols的文件应该包含上述类的一个类别以及UITableView的所有这些委托(delegate)方法。有没有可能做这样的事情?我想保持我的代码干净并将其拆分为多个文件。编辑DetailViewController.h@i

ios - 通过类别覆盖 Objective c 中的方法

以下是在objective-c中工作://BaseClassinClassA.handClassA.m@interfaceClassA:NSObject-(NSString*)myMethod;@end@implementationClassA-(NSString*)myMethod{return@"A";}@end//CategoryinClassA+CategoryB.handClassA+CategoryB.m@interfaceClassA(CategoryB)-(NSString*)myMethod;@end@implementationClassA(CategoryB)-(

ios - xcode 7 生成具有附加 CoreDataProperties 类别的核心数据实体

我在xcode7中有一个奇怪的新功能,当我生成新的NSManagedObject子类时,xcode创建两个类:实体和它们的CoreDataProperties类别,其中包含完整的实现。在下面的图片中,我的意思就是这个例子。我找不到任何关于这个的文档信息,谁能解释为什么它如此有效 最佳答案 我刚注意到这一点,也找不到任何关于它的文档,但我已经试验过这个新功能,它是这样工作的。当您第一次从CoreData模型生成NSManagedObject子类时,Xcode将生成4个文件:DBUser.h#import#importNS_ASSUME